管理 Python 环境和解释器

您所在的位置:网站首页 python interpreter找不到为什么 管理 Python 环境和解释器

管理 Python 环境和解释器

2023-06-26 10:15| 来源: 网络整理| 查看: 265

如何在 Visual Studio 中创建和管理 Python 环境 项目 05/08/2023

适用范围:Visual Studio Visual Studio for Mac Visual Studio Code

Python 环境是运行 Python 代码的上下文,包括全局、虚拟和 Conda 环境 。 环境由解释器、库(通常是 Python 标准库)以及一组已安装的包组成。 这些组成部分共同确定有效的语言结构和语法、可访问的操作系统功能以及可使用的包。

在 Windows 上的 Visual Studio 中,可使用“Python 环境”窗口(如本文中所述)管理这些环境并选择其中一个作为新项目的默认环境 。 环境的其他方面可在以下文章中找到:

对于任何给定的项目,可选择特定环境而不使用默认环境。

有关为 Python 项目创建和使用虚拟环境的详细信息,请参阅使用虚拟环境。

如果想在环境中安装包,请参阅“包”选项卡引用。

若要安装另一个 Python 解释器,请参阅安装 Python 解释器。 通常,如果下载并运行传统 Python 分发版的安装程序,Visual Studio 会检测新的安装和环境是否出现在“Python 环境”窗口中并且是否可以为项目选择它们 。

如果不熟悉 Visual Studio 中的 Python,以下文章还提供了一般背景知识:

在 Visual Studio 中使用 Python 在 Visual Studio 中安装 Python 支持

注意

可以使用“文件”>“打开”>“文件夹”命令管理作为文件夹打开的 Python 代码环境 。 使用 Python 工具栏,可以在所有检测到的环境之间切换,还可以添加新环境。 环境信息存储在 Workspace.vs 文件夹中的 PythonSettings.json 文件中。

“Python 环境”窗口

Visual Studio 了解的环境显示在“Python 环境” 窗口中。 要打开该窗口,请使用以下某个方法:

选择“视图”>“其他窗口”>“Python 环境”菜单命令 。 在解决方案资源管理器中,右键单击某项目的“Python 环境”节点,选择“查看所有 Python 环境” :

在所有这些情况下,“Python 环境”窗口都将出现在“解决方案资源管理器”旁边:

Visual Studio 使用注册表查找已安装的全局环境(遵循 PEP 514 ),以及查找虚拟环境和 conda 环境(请参阅环境类型)。 如果在列表中看不到预期的环境,请参阅手动标识现有环境。

选择列表中的环境时,Visual Studio 将在“概述”选项卡上显示该环境的各种属性和命令。

例如,可在上图中看到解释器的位置是 C:\Python36-32。 “概述“选项卡底部的四个命令在解释器运行时分别打开一个命令提示符 。 有关详细信息,请参阅“Python 环境”窗口选项卡引用 2019 - 概述。

例如,可以在上图中看到解释器的位置为 C:\Program Files (x86)\Microsoft Visual Studio\Python310。 “概述“选项卡底部的四个命令在解释器运行时分别打开一个命令提示符 。 有关详细信息,请参阅“Python 环境”窗口选项卡引用 2022 - 概述。

使用环境列表下方的下拉列表可切换到不同的选项卡,例如“包”和“IntelliSense” 。 “Python 环境”窗口选项卡引用中也介绍了这些选项卡。

选择环境不会改变其与任何项目的关系。 Visual Studio 可将列表中以粗体显示的默认环境用于任意新项目。 要在新项目中使用不同的环境,请使用“将此作为新项目的默认环境”命令 。 在项目的上下文中,可以始终选择特定环境。 有关详细信息,请参阅选择项目环境。

在列出的每个环境右侧,有一个控件可为此环境打开“交互”窗口。 (在 Visual Studio 2017 15.5 及更早版本中,可能会显示另一个控件,用于刷新该环境的 IntelliSense 数据库。请参阅环境窗口选项卡引用了解有关此数据库的详细信息。)

提示

如果将“Python 环境”窗口展开到足够宽,可以获得更加完整的环境视图,从而可使操作更加便捷。

提示

如果将“Python 环境”窗口展开到足够宽,可以获得更加完整的环境视图,从而可使操作更加便捷。

注意

尽管 Visual Studio 遵循系统-站点-包选项,但它没有提供从 Visual Studio 中更改它的方法。

如果未出现环境该怎么办?

如果未出现任何环境,这意味着 Visual Studio 在标准位置中未能检测到任何 Python 安装。 例如,你可能已安装 Visual Studio 2017 或更高版本但清除了 Python 工作负载的安装程序选项中的所有解释器选项。 同样地,你可能已安装 Visual Studio 2015 或更早版本,但未手动安装解释器(请参阅安装 Python 解释器)。

如果知道计算机上有一个 Python 解释器,但 Visual Studio(任何版本)未检测到它,则使用“+ 自定义”命令来手动指定其位置。 请参阅下一节手动标识现有环境。

环境类型

Visual Studio 可使用全局、虚拟和 conda 环境。

全局环境

每个 Python 安装都维护其自己的全局环境。 例如,Python 2.7、Python 3.6、Python 3.7、Anaconda 4.4.0 等。 请参阅安装 Python 解释器)

每个环境都包括特定的 Python 解释器、其标准库和一组预安装包以及在激活该环境时安装的任何其他包。 将包安装到全局环境使其适用于使用此环境的所有项目。 如果环境位于文件系统的保护区域内(例如,c:\program files 内),则安装包时需要管理员权限 。

全局环境适用于计算机上的所有项目。 在 Visual Studio 中,选择一个全局环境作为默认环境,此环境可用于所有项目,除非为项目专门选择了其他环境。 有关详细信息,请参阅选择项目环境。

虚拟环境

在全局环境中工作是一种简单的入门方法。 随着时间的推移,环境会变得混乱,充满为不同项目安装的许多不同的包。 这种混乱使你很难针对一组具有已知版本的特定软件包对应用程序进行彻底测试。 但是,在生成服务器或 Web 服务器上设置的环境类型与上面完全相同。 当两个项目需要不兼容的包或相同包的不同版本时,也会发生冲突。

因此,开发人员通常会为项目创建虚拟环境 。 虚拟环境是项目中的子文件夹,其中包含特定解释器的副本。 如果激活虚拟环境,任何安装的包仅安装在环境的子文件夹中。 然后,当你在该环境中运行 Python 程序时,便知道它仅针对那些特定的包运行。

Visual Studio 为创建项目的虚拟环境提供直接支持。 例如,如果打开包含 requirements.txt 的项目,或者通过包含该文件的模板创建项目,Visual Studio 会提示你自动创建虚拟环境并安装这些依赖项。

在打开的项目中,可随时创建新的虚拟环境。 在“解决方案资源管理器”中,展开项目节点,右键单击“Python 环境”,然后选择“添加环境”。 在“添加环境”中,选择 “虚拟环境”。

有关详细信息,请参阅创建虚拟环境 2019。

有关详细信息,请参阅创建虚拟环境 2022。

Visual Studio 还提供可从虚拟环境生成 requirements.txt 文件的命令,简化了在其他计算机上重新创建环境的过程 。 有关详细信息,请参阅使用虚拟环境。

Conda 环境

Conda 环境是使用 conda 工具或通过 Visual Studio 2017 版本 15.7 及更高版本中的集成式 Conda 管理创建的环境。 (需要 Anaconda 或 Miniconda;它们可通过 Visual Studio 安装程序获得,请参阅安装 Visual Studio 2017)

在“Python 环境”窗口中(或从 Python 工具栏上)选择“添加环境...”,这将打开“添加环境”对话框 。

在“添加环境”对话框中,选择“Conda 环境”选项卡:

配置以下字段:

字段 描述 项目 要在其中创建环境的项目(如果在同一 Visual Studio 解决方案中有多个项目)。 “属性” Conda 环境的名称。 添加包 如果你有描述依赖项的 environment.yml 文件,请选择“环境文件” ,或选择“一个或多个 Anaconda 包名称” 并在下面的字段中列出至少一个 Python 包或 Python 版本。 包列表可指示 conda 创建 Python 环境。 若要安装最新版本的 Python,请使用 python;若要安装特定版本,请使用 python=,major>.,如 python=3.7 所述。 还可以使用包按钮从一系列菜单中选择 Python 版本和常见包。 设置为当前环境 创建环境后,在所选项目中激活新环境。 设置为新项目的默认环境 自动设置和激活 Visual Studio 中创建的任何新项目中的 conda 环境。 此选项与使用“Python 环境”窗口中的“将此作为新项目的默认环境”相同 。 在“Python 环境”窗口中查看 指定是否在创建环境后显示“Python 环境”窗口。

重要

在创建 conda 环境时,请务必使用 environments.yml 或包列表指定至少一个 Python 版本或 Python 包,确保环境包含 Python 运行时。 否则,Visual Studio 将忽略环境:环境不显示在“Python 环境” 窗口中的任何位置,不能设置为一个项目的当前环境,并且不可用作全局环境。

如果碰巧创建没有指定 Python 版本的 conda 环境,请使用 conda info 命令查看 conda 环境文件夹的位置,然后从该位置手动删除该环境的子文件夹。

选择“创建” ,并在“输出” 窗口中观察进度。

创建完成后,输出将附带几项 CLI 说明:

如为项目选择环境中所述,在 Visual Studio 中,可像激活任何其他环境一样,为项目激活 Conda 环境。

若要在环境中安装更多包,请使用包选项卡。

在“Python 环境”窗口中(或从 Python 工具栏上)选择“添加环境...”,这将打开“添加环境”对话框 。

在“添加环境”对话框中,选择“Conda 环境”选项卡:

配置以下字段:

字段 描述 项目 要在其中创建环境的项目(如果在同一 Visual Studio 解决方案中有多个项目)。 “属性” Conda 环境的名称。 添加包 如果你有描述依赖项的 environment.yml 文件,请选择“环境文件” ,或选择“一个或多个 Anaconda 包名称” 并在下面的字段中列出至少一个 Python 包或 Python 版本。 包列表可指示 conda 创建 Python 环境。 若要安装最新版本的 Python,请使用 python;若要安装特定版本,请使用 python=,major>.,如 python=3.7 所述。 还可以使用包按钮从一系列菜单中选择 Python 版本和常见包。 设置为当前环境 创建环境后,在所选项目中激活新环境。 设置为新项目的默认环境 自动设置和激活 Visual Studio 中创建的任何新项目中的 conda 环境。 此选项与使用“Python 环境”窗口中的“将此作为新项目的默认环境”相同 。 在“Python 环境”窗口中查看 指定是否在创建环境后显示“Python 环境”窗口。

重要

在创建 conda 环境时,请务必使用 environments.yml 或包列表指定至少一个 Python 版本或 Python 包,确保环境包含 Python 运行时。 否则,Visual Studio 将忽略环境:环境不显示在“Python 环境” 窗口中的任何位置,不能设置为一个项目的当前环境,并且不可用作全局环境。

如果碰巧创建没有指定 Python 版本的 conda 环境,请使用 conda info 命令查看 conda 环境文件夹的位置,然后从该位置手动删除该环境的子文件夹。

选择“创建” ,并在“输出” 窗口中观察进度。 创建完成后,输出将附带几项 CLI 说明:

如为项目选择环境中所述,在 Visual Studio 中,可像激活任何其他环境一样,为项目激活 Conda 环境。

若要在环境中安装更多包,请使用包选项卡。

注意

为获得 Conda 环境的最佳使用结果,请使用 Conda 4.4.8 或更高版本(Conda 版本与 Anaconda 版本不同)。 可以通过 Visual Studio 安装程序安装合适版本的 Miniconda(Visual Studio 2019 和 Visual Studio 2022)和 Anaconda (Visual Studio 2017)。

若要查看 Conda 版本、Conda 环境的存储位置以及其他信息,请在 Anaconda 命令提示符(即路径中包含 Anaconda 的命令提示符)运行 conda info:

conda info

conda 环境文件夹如下所示:

envs directories : C:\Users\user\.conda\envs c:\anaconda3\envs C:\Users\user\AppData\Local\conda\conda\envs

由于未使用项目存储 Conda 环境,这些环境与全局环境的功能类似。 例如,将新包安装到 Conda 环境,从而使该包适用于使用此环境的所有项目。

对于 Visual Studio 2017 版本 15.6 及更早版本,可以根据手动标识现有环境中所述,通过手动指向 Conda 环境进行使用。

根据下一节所述,Visual Studio 2017 版本 15.7 及更高版本自动检测 Conda 环境,并在“Python 环境”窗口中显示这些环境 。

手动标识现有环境

使用以下步骤来标识安装在非标准位置的环境:

在“Python 环境”窗口中(或从 Python 工具栏上)选择“添加环境...”,这将打开“添加环境”对话框 。

在“添加环境”对话框中,选择“现有环境”选项卡:

选择“环境” 下拉列表,然后选择“自定义” :

在对话框中提供的字段中,输入或浏览(使用 ...)到“前缀路径”下的解释器路径,它将填充大多数其他字段。

在检查这些值并根据需要修改后,选择“添加” 。

也可以在“Python 环境”窗口中随时检查和修改环境的详细信息。

在“Python 环境”窗口中,选择环境,然后选择“配置”选项卡。

进行更改后,选择“应用”命令。 还可以使用“删除”命令(对自动检测的环境不可用)删除环境。 有关更多信息,请参阅配置选项卡。

在“Python 环境”窗口中(或从 Python 工具栏上)选择“添加环境...”,这将打开“添加环境”对话框 。

在“添加环境”对话框中,选择“现有环境”选项卡:

例如,选择现有环境和现有环境的路径。

选择“环境” 下拉列表,然后选择“自定义” :

例如,C:\Users\user\Anaconda3\python.exe 中的 Anaconda 2021.05

在对话框中提供的字段中,输入或浏览(使用 ...)到“前缀路径”下的解释器路径,它将填充大多数其他字段。

在检查这些值并根据需要修改后,选择“添加” 。

也可以在“Python 环境”窗口中随时检查和修改环境的详细信息。

在“Python 环境”窗口中,选择环境,然后选择“配置”选项卡。

进行更改后,选择“应用”命令。 还可以使用“删除”命令(对自动检测的环境不可用)删除环境。 有关更多信息,请参阅配置选项卡。

修复或删除无效环境

如果 Visual Studio 找到环境的注册表项,但解释器的路径无效,则“Python 环境”窗口将显示标有删除线字体的名称 :

若要更正希望保留的环境,首先请尝试使用其安装程序的“修复”进程 。 例如,标准 Python 3.x 的安装程序包含该选项。

修改注册表以更正没有修复选项的环境,或删除无效环境

使用以下步骤直接修改注册表。 更改注册表后,Visual Studio 会自动更新“Python 环境”窗口。

运行 Regedit.exe 。

导航到 HKEY_LOCAL_MACHINE\SOFTWARE\Python 或 HKEY_CURRENT_USER\SOFTWARE\Python。 对于 32 位版本的 Python,注册表项可能在 HKEY_LOCAL_MACHINE\Software\Wow6432Node\Python 下。 对于 IronPython,则请查找 IronPython 。

展开与分发匹配的节点,例如 CPython 为 PythonCore 或 Anaconda 为 ContinuumAnalytics 。 对于 IronPython,请展开版本号节点。

检查 InstallPath 节点下的值 :

如果计算机上仍存在该环境,请将 ExecutablePath 的值更改为正确位置 。 还根据需要更正“(默认)”值和 WindowedExecutablePath 值 。 如果计算机上不再存在该环境,且想将其从“Python 环境”窗口中删除,请删除 InstallPath 的父节点,例如上图中的 3.6 。 HKEY_CURRENT_USER\SOFTWARE\Python 中的无效设置替代 HKEY_LOCAL_MACHINE\SOFTWARE\Python 中的设置 请参阅 安装 Python 解释器 为项目选择解释器 对依赖项使用 requirements.txt 搜索路径 “Python 环境”窗口参考


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3